FastAPI এর জন্য প্রজেক্ট তৈরি করা

Web Development - ফাস্টএপিআই (FastAPI) - FastAPI সেটআপ এবং ইনস্টলেশন
186

FastAPI দিয়ে একটি প্রজেক্ট তৈরি করা সহজ এবং কাঠামোগতভাবে সঠিকভাবে প্রজেক্ট সাজালে বড় প্রজেক্ট পরিচালনা করা আরও কার্যকর হয়। এখানে একটি FastAPI প্রজেক্ট তৈরির প্রক্রিয়া ধাপে ধাপে ব্যাখ্যা করা হয়েছে।


ধাপ ১: ভার্চুয়াল এনভায়রনমেন্ট সেটআপ

ভার্চুয়াল এনভায়রনমেন্ট তৈরি করুন

প্রজেক্টের ডিপেনডেন্সি আলাদা রাখতে একটি ভার্চুয়াল এনভায়রনমেন্ট তৈরি করুন:

python -m venv env

ভার্চুয়াল এনভায়রনমেন্ট সক্রিয় করুন

  • Windows:

    .\env\Scripts\activate
    
  • macOS/Linux:

    source env/bin/activate
    

ধাপ ২: FastAPI এবং Uvicorn ইনস্টল করা

FastAPI এবং Uvicorn ইনস্টল করতে নিচের কমান্ডটি চালান:

pip install fastapi uvicorn

ধাপ ৩: প্রজেক্ট ফোল্ডার স্ট্রাকচার তৈরি করা

প্রস্তাবিত স্ট্রাকচার

my_fastapi_project/
├── app/
│   ├── main.py
│   ├── routes/
│   │   ├── __init__.py
│   │   ├── example_routes.py
│   ├── models/
│   │   ├── __init__.py
│   │   ├── example_models.py
│   ├── schemas/
│   │   ├── __init__.py
│   │   ├── example_schemas.py
│   ├── database.py
│   ├── __init__.py
├── requirements.txt

ধাপ ৪: বেসিক ফাইল এবং কোড তৈরি করা

main.py

এটি মূল ফাইল যেখানে অ্যাপটি ডিফাইন করা হবে:

from fastapi import FastAPI
from app.routes import example_routes

app = FastAPI()

# Routes
app.include_router(example_routes.router)

@app.get("/")
def read_root():
    return {"message": "Welcome to FastAPI Project!"}

routes/example_routes.py

এটি রাউটগুলোকে সাজানোর জন্য ব্যবহার করা হয়:

from fastapi import APIRouter

router = APIRouter()

@router.get("/example")
def get_example():
    return {"message": "This is an example route"}

models/example_models.py

এটি ডাটাবেসের মডেল ডিফাইন করতে ব্যবহার করা হবে। উদাহরণস্বরূপ:

# Example of a database model (if using SQLAlchemy)
from sqlalchemy import Column, Integer, String
from app.database import Base

class ExampleModel(Base):
    __tablename__ = "examples"

    id = Column(Integer, primary_key=True, index=True)
    name = Column(String, index=True)

schemas/example_schemas.py

এটি ডাটা ভ্যালিডেশন এবং পায়ডান্টিক (Pydantic) স্কিমার জন্য ব্যবহৃত হয়:

from pydantic import BaseModel

class ExampleSchema(BaseModel):
    name: str
    description: str

    class Config:
        orm_mode = True

database.py

এটি ডাটাবেস সংযোগ পরিচালনা করার জন্য:

from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker

SQLALCHEMY_DATABASE_URL = "sqlite:///./test.db"

engine = create_engine(SQLALCHEMY_DATABASE_URL, connect_args={"check_same_thread": False})
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
Base = declarative_base()

ধাপ ৫: ডিপেনডেন্সি লিস্ট সংরক্ষণ করা

আপনার প্রজেক্টে ব্যবহৃত সব প্যাকেজ সংরক্ষণ করতে:

pip freeze > requirements.txt

ধাপ ৬: অ্যাপ চালানো

Uvicorn ব্যবহার করে অ্যাপ চালানোর জন্য:

uvicorn app.main:app --reload
  • app.main:app:
    app ফোল্ডারে থাকা main.py ফাইলের app অবজেক্ট।
  • --reload:
    ডেভেলপমেন্টে অটোমেটিক রিফ্রেশ।

ধাপ ৭: ব্রাউজারে অ্যাপ অ্যাক্সেস করা

অ্যাপ চালু হলে ব্রাউজারে গিয়ে:


সার্বিক গাইডলাইন

  • প্রজেক্টের ফোল্ডার স্ট্রাকচার মডুলার করুন যাতে বড় প্রজেক্ট পরিচালনা সহজ হয়।
  • Pydantic ব্যবহার করে ইনপুট এবং আউটপুট যাচাই নিশ্চিত করুন।
  • ডাটাবেস সংযোগ এবং লজিক আলাদা ফাইল বা মডিউলে রাখুন।
  • ভার্চুয়াল এনভায়রনমেন্ট ব্যবহারের মাধ্যমে ডিপেনডেন্সি আলাদা রাখুন।

FastAPI দিয়ে তৈরি প্রজেক্টে এই কাঠামো আপনাকে দ্রুত এবং কার্যকর ডেভেলপমেন্টে সহায়তা করবে।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...